home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-xtensa / mman.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  3.0 KB  |  85 lines

  1. /*
  2.  * include/asm-xtensa/mman.h
  3.  *
  4.  * Xtensa Processor memory-manager definitions
  5.  *
  6.  * This file is subject to the terms and conditions of the GNU General Public
  7.  * License.  See the file "COPYING" in the main directory of this archive
  8.  * for more details.
  9.  *
  10.  * Copyright (C) 1995 by Ralf Baechle
  11.  * Copyright (C) 2001 - 2005 Tensilica Inc.
  12.  */
  13.  
  14. #ifndef _XTENSA_MMAN_H
  15. #define _XTENSA_MMAN_H
  16.  
  17. /*
  18.  * Protections are chosen from these bits, OR'd together.  The
  19.  * implementation does not necessarily support PROT_EXEC or PROT_WRITE
  20.  * without PROT_READ.  The only guarantees are that no writing will be
  21.  * allowed without PROT_WRITE and no access will be allowed for PROT_NONE.
  22.  */
  23.  
  24. #define PROT_NONE    0x0        /* page can not be accessed */
  25. #define PROT_READ    0x1        /* page can be read */
  26. #define PROT_WRITE    0x2        /* page can be written */
  27. #define PROT_EXEC    0x4        /* page can be executed */
  28.  
  29. #define PROT_SEM    0x10        /* page may be used for atomic ops */
  30. #define PROT_GROWSDOWN    0x01000000    /* mprotect flag: extend change to start of growsdown vma */
  31. #define PROT_GROWSUP    0x02000000    /* mprotect flag: extend change to end fo growsup vma */
  32.  
  33. /*
  34.  * Flags for mmap
  35.  */
  36. #define MAP_SHARED    0x001        /* Share changes */
  37. #define MAP_PRIVATE    0x002        /* Changes are private */
  38. #define MAP_TYPE    0x00f        /* Mask for type of mapping */
  39. #define MAP_FIXED    0x010        /* Interpret addr exactly */
  40.  
  41. /* not used by linux, but here to make sure we don't clash with ABI defines */
  42. #define MAP_RENAME    0x020        /* Assign page to file */
  43. #define MAP_AUTOGROW    0x040        /* File may grow by writing */
  44. #define MAP_LOCAL    0x080        /* Copy on fork/sproc */
  45. #define MAP_AUTORSRV    0x100        /* Logical swap reserved on demand */
  46.  
  47. /* These are linux-specific */
  48. #define MAP_NORESERVE    0x0400        /* don't check for reservations */
  49. #define MAP_ANONYMOUS    0x0800        /* don't use a file */
  50. #define MAP_GROWSDOWN    0x1000        /* stack-like segment */
  51. #define MAP_DENYWRITE    0x2000        /* ETXTBSY */
  52. #define MAP_EXECUTABLE    0x4000        /* mark it as an executable */
  53. #define MAP_LOCKED    0x8000        /* pages are locked */
  54. #define MAP_POPULATE    0x10000        /* populate (prefault) pagetables */
  55. #define MAP_NONBLOCK    0x20000        /* do not block on IO */
  56.  
  57. /*
  58.  * Flags for msync
  59.  */
  60. #define MS_ASYNC    0x0001        /* sync memory asynchronously */
  61. #define MS_INVALIDATE    0x0002        /* invalidate mappings & caches */
  62. #define MS_SYNC        0x0004        /* synchronous memory sync */
  63.  
  64. /*
  65.  * Flags for mlockall
  66.  */
  67. #define MCL_CURRENT    1        /* lock all current mappings */
  68. #define MCL_FUTURE    2        /* lock all future mappings */
  69.  
  70. #define MADV_NORMAL    0        /* no further special treatment */
  71. #define MADV_RANDOM    1        /* expect random page references */
  72. #define MADV_SEQUENTIAL    2        /* expect sequential page references */
  73. #define MADV_WILLNEED    3        /* will need these pages */
  74. #define MADV_DONTNEED    4        /* don't need these pages */
  75.  
  76. /* common parameters: try to keep these consistent across architectures */
  77. #define MADV_REMOVE    9        /* remove these pages & resources */
  78. #define MADV_DONTFORK    10        /* don't inherit across fork */
  79. #define MADV_DOFORK    11        /* do inherit across fork */
  80.  
  81. /* compatibility flags */
  82. #define MAP_FILE    0
  83.  
  84. #endif /* _XTENSA_MMAN_H */
  85.